#ifndef _OPERATOR_
#define _OPERATOR_
#include "gsl/gsl_sf_gamma.h"
#include <cmath>
#include <fstream>
#include <iostream>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;

class X_Lambda {
  // <a|x^L|b> should be along with <|Y_L|>
  // becarful about the convension of HO wavefunction R(r)
  // if R = (-1)^n * .....
  // then we need additional phase (-1)^{n_a-n_b}
public:
  //X_Lambda():{}
  vector<double> frac_vec;

  double hbar_omega;
  void init(int hw);
  double cal(int n_a, int l_a, int n_b, int l_b, int Lambda);
};
#endif
